2022搭建私有CodePush库

您所在的位置:网站首页 eg284820325kr code 2022搭建私有CodePush库

2022搭建私有CodePush库

2023-07-12 04:38| 来源: 网络整理| 查看: 265

前提条件:已安装npm

安装code-push-cli 安装

本地部署的话不能安装最新版本,应该制定版本为2.1.9,否则code-push login IP:Host的时候自动打开的页面为Not found(404),bugfix链接参考,安装命令如下

npm install [email protected] -g 复制代码 修改 admin 密码举例 $ curl -X PATCH -H "Authorization: Bearer mytoken" -H "Accept: application/json" -H "Content-Type:application/json" -d '{"oldPassword":"123456","newPassword":"654321"}' http://YOU_SERVICE_IP:3000/users/password 复制代码

本地部署code-push-server

安装 PM2 PM2简介

PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。

下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和配置。

$ sudo npm i -g pm2 复制代码 安装 MYSQL

参考链接

Linux macOS Microsoft Windows Others

注意. mysql8.x 默认的 认证 caching_sha2_pasword 在node-mysql2中不被支持 参见 issue这会导致node连接数据库失败

解决方法

#修改默认的root用户的认证方式 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourRootPassword'; -- or #新建一个用户并设置他的认证方式为mysql_native_password CREATE USER 'foo'@'%' IDENTIFIED WITH mysql_native_password BY 'bar'; 复制代码 使用源码安装 code-push-server (实践)

本次实践使用此方法,因为比较方便找到配置文件

$ git clone https://github.com/lisong/code-push-server.git $ cd code-push-server $ npm install 复制代码 使用npm全局安装code-push-server $ npm install code-push-server@latest -g 复制代码 初始化数据库

源码方式安装参考

$ ./bin/db init --dbhost "mysql安装的ip" --dbport "mysql安装的端口默认3306" --dbuser "用户名" --dbpassword "密码" 复制代码

全局安装参考

$ code-push-server-db init --dbhost "mysql安装的ip" --dbport "mysql安装的端口默认3306" --dbuser "用户名" --dbpassword "密码" 复制代码

成功后输出: success

修改code-push-server相关配置

找到项目目录下config目录中的config文件并作出如下修改:

local.storageDir 创建一个storageDir目录并确保这个目录可读写,进入目录输入pwd,复制出路径粘贴到这里 local.downloadUrl 将 127.0.0.1 改成你使用的机器的ip. common.dataDir 创建一个dataDir目录并确保这个目录可读写,进入目录输入pwd,复制出路径粘贴到这里 jwt.tokenSecret 打开网址获取密钥 https://www.grc.com/passwords.htm, 并替换 INSERT_RANDOM_TOKEN_KEY. db 设置: username,password,host,port 改成自己配置的mysql 为pm2做配置

找到项目目录下docs目录中的process.json文件并作出如下修改:

script 如果是全局安装则设置成 code-push-server,如果是源码安装则使用源码中的路径 "项目路径/bin/www CONFIG_FILE 使用config.js 文件的绝对路径 启动code-push-server服务

在docs文件夹下执行命令

$ pm2 start process.json 复制代码 重启code-push-server服务 $ pm2 restart process.json 复制代码 关闭code-push-server服务 $ pm2 stop process.json 复制代码

启动成功效果如下图所示 截屏2022-03-07 下午4.56.14.png

检查code-push-server服务正常运行

YOUR_CODE_PUSH_SERVER_IP为code-push-server服务对应的ip地址

$ curl -I http://YOUR_CODE_PUSH_SERVER_IP:3000/ 复制代码

返回结果如下

return httpCode 200 OK

HTTP/1.1 200 OK X-DNS-Prefetch-Control: off X-Frame-Options: SAMEORIGIN Strict-Transport-Security: max-age=15552000; includeSubDomains X-Download-Options: noopen X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Content-Type: text/html; Content-Length: 592 ETag: W/"250-IiCMcM1ZUFSswSYCU0KeFYFEMO8" Date: Sat, 25 Aug 2018 15:45:46 GMT Connection: keep-alive 复制代码 使用 redis 提升并发和安全性

在config.js文件中配置redis

updateCheckCache 配置为true则使用redis rolloutClientUniqueIdCache 配置为true则使用redis tryLoginTimes 配置为true则使用redis 升级 npm全局安装方式 $ npm install -g code-push-server@latest $ code-push-server-db upgrade --dbhost "your mysql host" --dbport "your mysql port" --dbuser "your mysql user" --dbpassword "your mysql password" # upgrade codepush database $ pm2 restart code-push-server # restart service 复制代码 源码安装方式 $ cd /path/to/code-push-server $ git pull --rebase origin master $ ./bin/db upgrade --dbhost "your mysql host" --dbport "your mysql port" --dbuser "your mysql user" --dbpassword "your mysql password" # upgrade codepush database $ pm2 restart code-push-server # restart service 复制代码 查看 pm2 log $ pm2 ls $ pm2 show code-push-server $ tail -f "output file path" 复制代码 code-push-server支持的存储方式 local (default) qiniu (qiniu) s3 (aws) oss (aliyun) tencentcloud 默认监听 Host/Port 0.0.0.0/3000

可以在 process.json进行配置, env: PORT,HOST

配置 react-native 项目

参考文章# React-Native热更新之微软CodePush中的相关配置

因为降低了code-push-cli的版本,所以有些命令会略有不同

创建Android项目key code-push app add MyRNAndroid android react-native 复制代码

截屏2022-03-07 下午5.12.35.png

创建iOS项目key code-push app add MyRNiOS ios react-native 复制代码

截屏2022-03-07 下午5.13.14.png

参考:github.com/lisong/code…



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3